package com.gp.ssmplus.base.core.mybatis.interceptor;


import com.gp.ssmplus.base.core.mybatis.entity.EntityMap;
import com.gp.ssmplus.base.core.mybatis.model.ResultBody;
import com.gp.ssmplus.base.core.mybatis.query.CriteriaUpdate;

/**
 * 扩展更新拦截器
 */
public interface UpdateInterceptor {
    /**
     * 条件验证
     *
     * @return
     */
    default ResultBody validate(CriteriaUpdate cu, EntityMap params) {
        return ResultBody.ok();
    }



    /**
     * 更新条件扩展
     *
     * @return
     */
    void prepare(CriteriaUpdate cu, EntityMap params);


    /**
     * 更新后扩展
     *
     * @return
     */
    default void complete(CriteriaUpdate cu, EntityMap params){

    }


}
